// 导入定义验证规则的包
const joi = require('joi')

// 定义用户名和密码的验证规则
const username = joi.string().alphanum().min(1).max(10).required()
const password = joi
  .string()
  .pattern(/^[\S]{6,12}$/)
  .required()
/*  
定义id，nickname，email的验证规则 
  integer 整数
*/
const id = joi.number().integer().min(1).required();
const nickname = joi.string().required();
const user_email = joi.string().email().required();
// 定义验证头像的规则
// dataUri处理base64位的字符串
const avatar = joi.string().dataUri().required();

// 定义验证注册和登录表单数据的规则对象
exports.reg_login_schema = {
  body: {
    username,
    password,
  },
}
// 更新用户信息的验证规则对象
exports.update_userinfo_schema = {
  // 对req.body进行验证
  body: {
    id,
    nickname,
    email: user_email
  },
}

// 修改用户密码的验证规则对象
exports.update_password_schema = {
  // 对req.body进行验证
  body: {
    oldPwd:password,
    newPwd:joi.not(ref('oldPwd')).concat(password),
  },
}

// 修改用户头像的验证规则对象
exports.update_avatar_schema = {
  body:{
    avatar
  } 
}
